<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>EOS.IO: contracts/eoslib/reflect.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="eos-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">EOS.IO
   &#160;<span id="projectnumber">DAWN3.0.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ae9b15dd87e066e1908bbd90e8f38627.html">contracts</a></li><li class="navelem"><a class="el" href="dir_3fea0bf1ce879ce73e6ecec98007efcd.html">eoslib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">reflect.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="utility_8hpp_source.html">eoslib/utility.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="seq_2for__each_8hpp_source.html">eoslib/preprocessor/seq/for_each.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="seq_2enum_8hpp_source.html">eoslib/preprocessor/seq/enum.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="seq_2size_8hpp_source.html">eoslib/preprocessor/seq/size.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="seq_2seq_8hpp_source.html">eoslib/preprocessor/seq/seq.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="stringize_8hpp_source.html">eoslib/preprocessor/stringize.hpp</a>&gt;</code><br />
</div>
<p><a href="reflect_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeosio_1_1reflector.html">eosio::reflector&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceeosio"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceeosio.html">eosio</a></td></tr>
<tr class="memdesc:namespaceeosio"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to forward declare raw functions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6269ed771378e6ab12a6507ce5c5efd6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a6269ed771378e6ab12a6507ce5c5efd6">EOSLIB_REFLECT_VISIT_BASE</a>(r,  visitor,  base)&#160;&#160;&#160;<a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;base&gt;::visit( visitor );</td></tr>
<tr class="memdesc:a6269ed771378e6ab12a6507ce5c5efd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">eosio  <a href="#a6269ed771378e6ab12a6507ce5c5efd6">More...</a><br /></td></tr>
<tr class="separator:a6269ed771378e6ab12a6507ce5c5efd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2503e9c2314b9e45ac3c5c537a3d14a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a2503e9c2314b9e45ac3c5c537a3d14a0">EOSLIB_REFLECT_VISIT2_BASE</a>(r,  visitor,  base)&#160;&#160;&#160;<a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;base&gt;::visit( t, forward&lt;Visitor&gt;(visitor) );</td></tr>
<tr class="separator:a2503e9c2314b9e45ac3c5c537a3d14a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f443a0fcd4af9b3e1c9d6a257cdc84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#ae6f443a0fcd4af9b3e1c9d6a257cdc84">EOSLIB_REFLECT_VISIT_MEMBER</a>(r,  visitor,  elem)</td></tr>
<tr class="separator:ae6f443a0fcd4af9b3e1c9d6a257cdc84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60d5d77e2baad66c15753762be20230a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a60d5d77e2baad66c15753762be20230a">EOSLIB_REFLECT_VISIT2_MEMBER</a>(r,  visitor,  elem)</td></tr>
<tr class="separator:a60d5d77e2baad66c15753762be20230a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b82e86bebd96205c2b523054ac322c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a>(r,  OP,  elem)&#160;&#160;&#160;OP <a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;elem&gt;::total_member_count</td></tr>
<tr class="separator:a8b82e86bebd96205c2b523054ac322c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af10a833881d03fb0f67ea89e0dabf049"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#af10a833881d03fb0f67ea89e0dabf049">EOSLIB_REFLECT_MEMBER_COUNT</a>(r,  OP,  elem)&#160;&#160;&#160;OP 1</td></tr>
<tr class="separator:af10a833881d03fb0f67ea89e0dabf049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65097ea3682f03935c5e4aad63d233a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a65097ea3682f03935c5e4aad63d233a6">EOSLIB_REFLECT_DERIVED_IMPL_INLINE</a>(TYPE,  INHERITS,  MEMBERS)</td></tr>
<tr class="separator:a65097ea3682f03935c5e4aad63d233a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0d178e9d1ff2305d466221c81ad4de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a5c0d178e9d1ff2305d466221c81ad4de">EOSLIB_REFLECT_DERIVED_IMPL_EXT</a>(TYPE,  INHERITS,  MEMBERS)</td></tr>
<tr class="separator:a5c0d178e9d1ff2305d466221c81ad4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa532922cd1c727af2a18a36f944afcc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#aa532922cd1c727af2a18a36f944afcc0">EOSLIB_REFLECT</a>(TYPE,  MEMBERS)&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3">EOSLIB_REFLECT_DERIVED</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td></tr>
<tr class="memdesc:aa532922cd1c727af2a18a36f944afcc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specializes <a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a> for TYPE.  <a href="#aa532922cd1c727af2a18a36f944afcc0">More...</a><br /></td></tr>
<tr class="separator:aa532922cd1c727af2a18a36f944afcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab66b44183a61e5df85154151f1261b05"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#ab66b44183a61e5df85154151f1261b05">EOSLIB_REFLECT_TEMPLATE</a>(TEMPLATE_ARGS,  TYPE,  MEMBERS)&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#a19ecb289e4fa0b10e1947eb7d582c672">EOSLIB_REFLECT_DERIVED_TEMPLATE</a>( TEMPLATE_ARGS, TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td></tr>
<tr class="separator:ab66b44183a61e5df85154151f1261b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00f4751a0ec9d3b190e29107b8e5efce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a00f4751a0ec9d3b190e29107b8e5efce">EOSLIB_REFLECT_EMPTY</a>(TYPE)&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3">EOSLIB_REFLECT_DERIVED</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a> )</td></tr>
<tr class="separator:a00f4751a0ec9d3b190e29107b8e5efce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9032c65cd45de9ed1a16f96412370328"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a9032c65cd45de9ed1a16f96412370328">EOSLIB_REFLECT_FWD</a>(TYPE)</td></tr>
<tr class="separator:a9032c65cd45de9ed1a16f96412370328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3502f13e293ee42c85b7cdebf6bbc608"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a3502f13e293ee42c85b7cdebf6bbc608">EOSLIB_REFLECT_DERIVED_IMPL</a>(TYPE,  MEMBERS)&#160;&#160;&#160;EOSLIB_REFLECT_IMPL_DERIVED_EXT( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td></tr>
<tr class="separator:a3502f13e293ee42c85b7cdebf6bbc608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3d44ca862b4ddbe4a594440ffa7ec6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#aa3d44ca862b4ddbe4a594440ffa7ec6e">EOSLIB_REFLECT_IMPL</a>(TYPE,  MEMBERS)&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#a5c0d178e9d1ff2305d466221c81ad4de">EOSLIB_REFLECT_DERIVED_IMPL_EXT</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td></tr>
<tr class="separator:aa3d44ca862b4ddbe4a594440ffa7ec6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9537986c7dc6fabbebe7a23aca35a3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3">EOSLIB_REFLECT_DERIVED</a>(TYPE,  INHERITS,  MEMBERS)</td></tr>
<tr class="memdesc:abc9537986c7dc6fabbebe7a23aca35a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specializes <a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a> for TYPE where type inherits other reflected classes.  <a href="#abc9537986c7dc6fabbebe7a23aca35a3">More...</a><br /></td></tr>
<tr class="separator:abc9537986c7dc6fabbebe7a23aca35a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19ecb289e4fa0b10e1947eb7d582c672"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reflect_8hpp.html#a19ecb289e4fa0b10e1947eb7d582c672">EOSLIB_REFLECT_DERIVED_TEMPLATE</a>(TEMPLATE_ARGS,  TYPE,  INHERITS,  MEMBERS)</td></tr>
<tr class="separator:a19ecb289e4fa0b10e1947eb7d582c672"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aa532922cd1c727af2a18a36f944afcc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa532922cd1c727af2a18a36f944afcc0">&#9670;&nbsp;</a></span>EOSLIB_REFLECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3">EOSLIB_REFLECT_DERIVED</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">MEMBERS</td><td>- a sequence of member names. (field1)(field2)(field3)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3" title="Specializes eosio::reflector for TYPE where type inherits other reflected classes. ">EOSLIB_REFLECT_DERIVED</a> </dd></dl>

</div>
</div>
<a id="a8b82e86bebd96205c2b523054ac322c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b82e86bebd96205c2b523054ac322c8">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_BASE_MEMBER_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_BASE_MEMBER_COUNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">OP, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">elem&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;OP <a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;elem&gt;::total_member_count</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="abc9537986c7dc6fabbebe7a23aca35a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc9537986c7dc6fabbebe7a23aca35a3">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_DERIVED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_DERIVED</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">INHERITS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespaceeosio.html">eosio</a> {  \</div><div class="line">template&lt;&gt; <span class="keyword">struct </span>reflector&lt;TYPE&gt; {\</div><div class="line">    typedef TYPE type; \</div><div class="line">    typedef <a class="code" href="structeosio_1_1true__type.html">eosio::true_type</a>  <a class="code" href="structeosio_1_1reflector.html#ad3b342f6409c1bd7ec18c8ed60c16831">is_reflected</a>; \</div><div class="line">    typedef <a class="code" href="structeosio_1_1false__type.html">eosio::false_type</a> <a class="code" href="structeosio_1_1reflector.html#a49a28a4d6cd2528a53b0b8f3a8d2d022">is_enum</a>; \</div><div class="line">    enum  member_count_enum {  \</div><div class="line">      local_member_count = 0  <a class="code" href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a>( <a class="code" href="reflect_8hpp.html#af10a833881d03fb0f67ea89e0dabf049">EOSLIB_REFLECT_MEMBER_COUNT</a>, +, MEMBERS ),\</div><div class="line">      total_member_count = local_member_count <a class="code" href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a>( <a class="code" href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a>, +, INHERITS )\</div><div class="line">    }; \</div><div class="line">    EOSLIB_REFLECT_DERIVED_IMPL_INLINE( TYPE, INHERITS, MEMBERS ) \</div><div class="line">}; }</div><div class="ttc" id="namespaceeosio_html"><div class="ttname"><a href="namespaceeosio.html">eosio</a></div><div class="ttdoc">Used to forward declare raw functions. </div><div class="ttdef"><b>Definition:</b> account.hpp:12</div></div>
<div class="ttc" id="seq_2for__each_8hpp_html_a9d6c94d4e25be91965ad44a828beecf1"><div class="ttname"><a href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a></div><div class="ttdeci">#define BOOST_PP_SEQ_FOR_EACH(macro, data, seq)</div><div class="ttdef"><b>Definition:</b> for_each.hpp:31</div></div>
<div class="ttc" id="reflect_8hpp_html_a8b82e86bebd96205c2b523054ac322c8"><div class="ttname"><a href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a></div><div class="ttdeci">#define EOSLIB_REFLECT_BASE_MEMBER_COUNT(r, OP, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:38</div></div>
<div class="ttc" id="structeosio_1_1reflector_html_a49a28a4d6cd2528a53b0b8f3a8d2d022"><div class="ttname"><a href="structeosio_1_1reflector.html#a49a28a4d6cd2528a53b0b8f3a8d2d022">eosio::reflector::is_enum</a></div><div class="ttdeci">false_type is_enum</div><div class="ttdef"><b>Definition:</b> reflect.hpp:13</div></div>
<div class="ttc" id="reflect_8hpp_html_af10a833881d03fb0f67ea89e0dabf049"><div class="ttname"><a href="reflect_8hpp.html#af10a833881d03fb0f67ea89e0dabf049">EOSLIB_REFLECT_MEMBER_COUNT</a></div><div class="ttdeci">#define EOSLIB_REFLECT_MEMBER_COUNT(r, OP, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:41</div></div>
<div class="ttc" id="structeosio_1_1reflector_html_ad3b342f6409c1bd7ec18c8ed60c16831"><div class="ttname"><a href="structeosio_1_1reflector.html#ad3b342f6409c1bd7ec18c8ed60c16831">eosio::reflector::is_reflected</a></div><div class="ttdeci">false_type is_reflected</div><div class="ttdef"><b>Definition:</b> reflect.hpp:12</div></div>
<div class="ttc" id="structeosio_1_1false__type_html"><div class="ttname"><a href="structeosio_1_1false__type.html">eosio::false_type</a></div><div class="ttdef"><b>Definition:</b> types.hpp:105</div></div>
<div class="ttc" id="structeosio_1_1true__type_html"><div class="ttname"><a href="structeosio_1_1true__type.html">eosio::true_type</a></div><div class="ttdef"><b>Definition:</b> types.hpp:104</div></div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">INHERITS</td><td>- a sequence of base class names (basea)(baseb)(basec) </td></tr>
    <tr><td class="paramname">MEMBERS</td><td>- a sequence of member names. (field1)(field2)(field3) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3502f13e293ee42c85b7cdebf6bbc608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3502f13e293ee42c85b7cdebf6bbc608">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_DERIVED_IMPL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_DERIVED_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;EOSLIB_REFLECT_IMPL_DERIVED_EXT( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5c0d178e9d1ff2305d466221c81ad4de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c0d178e9d1ff2305d466221c81ad4de">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_DERIVED_IMPL_EXT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_DERIVED_IMPL_EXT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">INHERITS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Visitor&gt;\</div><div class="line">void <a class="code" href="structeosio_1_1reflector.html">eosio::reflector&lt;TYPE&gt;::visit</a>( Visitor&amp;&amp; v ) { \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a6269ed771378e6ab12a6507ce5c5efd6">EOSLIB_REFLECT_VISIT_BASE</a>, v, INHERITS ) \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#ae6f443a0fcd4af9b3e1c9d6a257cdc84">EOSLIB_REFLECT_VISIT_MEMBER</a>, v, MEMBERS ) \</div><div class="line">}</div><div class="ttc" id="structeosio_1_1reflector_html"><div class="ttname"><a href="structeosio_1_1reflector.html">eosio::reflector</a></div><div class="ttdef"><b>Definition:</b> reflect.hpp:11</div></div>
<div class="ttc" id="reflect_8hpp_html_a6269ed771378e6ab12a6507ce5c5efd6"><div class="ttname"><a href="reflect_8hpp.html#a6269ed771378e6ab12a6507ce5c5efd6">EOSLIB_REFLECT_VISIT_BASE</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT_BASE(r, visitor, base)</div><div class="ttdoc">eosio </div><div class="ttdef"><b>Definition:</b> reflect.hpp:20</div></div>
<div class="ttc" id="reflect_8hpp_html_ae6f443a0fcd4af9b3e1c9d6a257cdc84"><div class="ttname"><a href="reflect_8hpp.html#ae6f443a0fcd4af9b3e1c9d6a257cdc84">EOSLIB_REFLECT_VISIT_MEMBER</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT_MEMBER(r, visitor, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:27</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a65097ea3682f03935c5e4aad63d233a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65097ea3682f03935c5e4aad63d233a6">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_DERIVED_IMPL_INLINE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_DERIVED_IMPL_INLINE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">INHERITS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Visitor&gt;\</div><div class="line">static <span class="keyword">inline</span> <span class="keywordtype">void</span> visit( Visitor&amp;&amp; v ) { \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a6269ed771378e6ab12a6507ce5c5efd6">EOSLIB_REFLECT_VISIT_BASE</a>, v, INHERITS ) \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#ae6f443a0fcd4af9b3e1c9d6a257cdc84">EOSLIB_REFLECT_VISIT_MEMBER</a>, v, MEMBERS ) \</div><div class="line">} \</div><div class="line">template&lt;typename Visitor&gt;\</div><div class="line">static <span class="keyword">inline</span> <span class="keywordtype">void</span> visit( <span class="keyword">const</span> type&amp; t, Visitor&amp;&amp; v ) { \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a2503e9c2314b9e45ac3c5c537a3d14a0">EOSLIB_REFLECT_VISIT2_BASE</a>, v, INHERITS ) \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a60d5d77e2baad66c15753762be20230a">EOSLIB_REFLECT_VISIT2_MEMBER</a>, v, MEMBERS ) \</div><div class="line">} \</div><div class="line">template&lt;typename Visitor&gt;\</div><div class="line">static <span class="keyword">inline</span> <span class="keywordtype">void</span> visit( type&amp; t, Visitor&amp;&amp; v ) { \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a2503e9c2314b9e45ac3c5c537a3d14a0">EOSLIB_REFLECT_VISIT2_BASE</a>, v, INHERITS ) \</div><div class="line">    BOOST_PP_SEQ_FOR_EACH( <a class="code" href="reflect_8hpp.html#a60d5d77e2baad66c15753762be20230a">EOSLIB_REFLECT_VISIT2_MEMBER</a>, v, MEMBERS ) \</div><div class="line">}</div><div class="ttc" id="reflect_8hpp_html_a6269ed771378e6ab12a6507ce5c5efd6"><div class="ttname"><a href="reflect_8hpp.html#a6269ed771378e6ab12a6507ce5c5efd6">EOSLIB_REFLECT_VISIT_BASE</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT_BASE(r, visitor, base)</div><div class="ttdoc">eosio </div><div class="ttdef"><b>Definition:</b> reflect.hpp:20</div></div>
<div class="ttc" id="reflect_8hpp_html_a60d5d77e2baad66c15753762be20230a"><div class="ttname"><a href="reflect_8hpp.html#a60d5d77e2baad66c15753762be20230a">EOSLIB_REFLECT_VISIT2_MEMBER</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT2_MEMBER(r, visitor, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:32</div></div>
<div class="ttc" id="reflect_8hpp_html_ae6f443a0fcd4af9b3e1c9d6a257cdc84"><div class="ttname"><a href="reflect_8hpp.html#ae6f443a0fcd4af9b3e1c9d6a257cdc84">EOSLIB_REFLECT_VISIT_MEMBER</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT_MEMBER(r, visitor, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:27</div></div>
<div class="ttc" id="reflect_8hpp_html_a2503e9c2314b9e45ac3c5c537a3d14a0"><div class="ttname"><a href="reflect_8hpp.html#a2503e9c2314b9e45ac3c5c537a3d14a0">EOSLIB_REFLECT_VISIT2_BASE</a></div><div class="ttdeci">#define EOSLIB_REFLECT_VISIT2_BASE(r, visitor, base)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:23</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a19ecb289e4fa0b10e1947eb7d582c672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19ecb289e4fa0b10e1947eb7d582c672">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_DERIVED_TEMPLATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_DERIVED_TEMPLATE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TEMPLATE_ARGS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">INHERITS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespaceeosio.html">eosio</a> {  \</div><div class="line">template&lt;BOOST_PP_SEQ_ENUM(TEMPLATE_ARGS)&gt; <span class="keyword">struct </span>reflector&lt;TYPE&gt; {\</div><div class="line">    typedef TYPE type; \</div><div class="line">    typedef <a class="code" href="structeosio_1_1true__type.html">eosio::true_type</a>  is_defined; \</div><div class="line">    typedef <a class="code" href="structeosio_1_1false__type.html">eosio::false_type</a> <a class="code" href="structeosio_1_1reflector.html#a49a28a4d6cd2528a53b0b8f3a8d2d022">is_enum</a>; \</div><div class="line">    enum  member_count_enum {  \</div><div class="line">      local_member_count = 0  <a class="code" href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a>( <a class="code" href="reflect_8hpp.html#af10a833881d03fb0f67ea89e0dabf049">EOSLIB_REFLECT_MEMBER_COUNT</a>, +, MEMBERS ),\</div><div class="line">      total_member_count = local_member_count <a class="code" href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a>( <a class="code" href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a>, +, INHERITS )\</div><div class="line">    }; \</div><div class="line">    EOSLIB_REFLECT_DERIVED_IMPL_INLINE( TYPE, INHERITS, MEMBERS ) \</div><div class="line">}; }</div><div class="ttc" id="namespaceeosio_html"><div class="ttname"><a href="namespaceeosio.html">eosio</a></div><div class="ttdoc">Used to forward declare raw functions. </div><div class="ttdef"><b>Definition:</b> account.hpp:12</div></div>
<div class="ttc" id="seq_2for__each_8hpp_html_a9d6c94d4e25be91965ad44a828beecf1"><div class="ttname"><a href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a></div><div class="ttdeci">#define BOOST_PP_SEQ_FOR_EACH(macro, data, seq)</div><div class="ttdef"><b>Definition:</b> for_each.hpp:31</div></div>
<div class="ttc" id="reflect_8hpp_html_a8b82e86bebd96205c2b523054ac322c8"><div class="ttname"><a href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a></div><div class="ttdeci">#define EOSLIB_REFLECT_BASE_MEMBER_COUNT(r, OP, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:38</div></div>
<div class="ttc" id="structeosio_1_1reflector_html_a49a28a4d6cd2528a53b0b8f3a8d2d022"><div class="ttname"><a href="structeosio_1_1reflector.html#a49a28a4d6cd2528a53b0b8f3a8d2d022">eosio::reflector::is_enum</a></div><div class="ttdeci">false_type is_enum</div><div class="ttdef"><b>Definition:</b> reflect.hpp:13</div></div>
<div class="ttc" id="reflect_8hpp_html_af10a833881d03fb0f67ea89e0dabf049"><div class="ttname"><a href="reflect_8hpp.html#af10a833881d03fb0f67ea89e0dabf049">EOSLIB_REFLECT_MEMBER_COUNT</a></div><div class="ttdeci">#define EOSLIB_REFLECT_MEMBER_COUNT(r, OP, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:41</div></div>
<div class="ttc" id="structeosio_1_1false__type_html"><div class="ttname"><a href="structeosio_1_1false__type.html">eosio::false_type</a></div><div class="ttdef"><b>Definition:</b> types.hpp:105</div></div>
<div class="ttc" id="structeosio_1_1true__type_html"><div class="ttname"><a href="structeosio_1_1true__type.html">eosio::true_type</a></div><div class="ttdef"><b>Definition:</b> types.hpp:104</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a00f4751a0ec9d3b190e29107b8e5efce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00f4751a0ec9d3b190e29107b8e5efce">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_EMPTY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_EMPTY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#abc9537986c7dc6fabbebe7a23aca35a3">EOSLIB_REFLECT_DERIVED</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a> )</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a9032c65cd45de9ed1a16f96412370328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9032c65cd45de9ed1a16f96412370328">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_FWD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_FWD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespaceeosio.html">eosio</a> { \</div><div class="line">  template&lt;&gt; <span class="keyword">struct </span>reflector&lt;TYPE&gt; {\</div><div class="line">       typedef TYPE type; \</div><div class="line">       typedef <a class="code" href="structeosio_1_1true__type.html">eosio::true_type</a> <a class="code" href="structeosio_1_1reflector.html#ad3b342f6409c1bd7ec18c8ed60c16831">is_reflected</a>; \</div><div class="line">       enum  member_count_enum {  \</div><div class="line">         local_member_count = <a class="code" href="seq_2size_8hpp.html#aeefbacdbf937338e9f7b67044c4a3c96">BOOST_PP_SEQ_SIZE</a>(MEMBERS), \</div><div class="line">         total_member_count = local_member_count <a class="code" href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a>( <a class="code" href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a>, +, INHERITS )\</div><div class="line">       }; \</div><div class="line">       template&lt;typename Visitor&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> visit( Visitor&amp;&amp; v ); \</div><div class="line">       template&lt;typename Visitor&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> visit( <span class="keyword">const</span> type&amp; t, Visitor&amp;&amp; v ); \</div><div class="line">       template&lt;typename Visitor&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> visit( type&amp; t, Visitor&amp;&amp; v ); \</div><div class="line">  }; }</div><div class="ttc" id="namespaceeosio_html"><div class="ttname"><a href="namespaceeosio.html">eosio</a></div><div class="ttdoc">Used to forward declare raw functions. </div><div class="ttdef"><b>Definition:</b> account.hpp:12</div></div>
<div class="ttc" id="seq_2for__each_8hpp_html_a9d6c94d4e25be91965ad44a828beecf1"><div class="ttname"><a href="seq_2for__each_8hpp.html#a9d6c94d4e25be91965ad44a828beecf1">BOOST_PP_SEQ_FOR_EACH</a></div><div class="ttdeci">#define BOOST_PP_SEQ_FOR_EACH(macro, data, seq)</div><div class="ttdef"><b>Definition:</b> for_each.hpp:31</div></div>
<div class="ttc" id="reflect_8hpp_html_a8b82e86bebd96205c2b523054ac322c8"><div class="ttname"><a href="reflect_8hpp.html#a8b82e86bebd96205c2b523054ac322c8">EOSLIB_REFLECT_BASE_MEMBER_COUNT</a></div><div class="ttdeci">#define EOSLIB_REFLECT_BASE_MEMBER_COUNT(r, OP, elem)</div><div class="ttdef"><b>Definition:</b> reflect.hpp:38</div></div>
<div class="ttc" id="structeosio_1_1reflector_html_ad3b342f6409c1bd7ec18c8ed60c16831"><div class="ttname"><a href="structeosio_1_1reflector.html#ad3b342f6409c1bd7ec18c8ed60c16831">eosio::reflector::is_reflected</a></div><div class="ttdeci">false_type is_reflected</div><div class="ttdef"><b>Definition:</b> reflect.hpp:12</div></div>
<div class="ttc" id="seq_2size_8hpp_html_aeefbacdbf937338e9f7b67044c4a3c96"><div class="ttname"><a href="seq_2size_8hpp.html#aeefbacdbf937338e9f7b67044c4a3c96">BOOST_PP_SEQ_SIZE</a></div><div class="ttdeci">#define BOOST_PP_SEQ_SIZE(seq)</div><div class="ttdef"><b>Definition:</b> size.hpp:28</div></div>
<div class="ttc" id="structeosio_1_1true__type_html"><div class="ttname"><a href="structeosio_1_1true__type.html">eosio::true_type</a></div><div class="ttdef"><b>Definition:</b> types.hpp:104</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa3d44ca862b4ddbe4a594440ffa7ec6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3d44ca862b4ddbe4a594440ffa7ec6e">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_IMPL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_IMPL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#a5c0d178e9d1ff2305d466221c81ad4de">EOSLIB_REFLECT_DERIVED_IMPL_EXT</a>( TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af10a833881d03fb0f67ea89e0dabf049"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af10a833881d03fb0f67ea89e0dabf049">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_MEMBER_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_MEMBER_COUNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">OP, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">elem&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;OP 1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab66b44183a61e5df85154151f1261b05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab66b44183a61e5df85154151f1261b05">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_TEMPLATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_TEMPLATE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TEMPLATE_ARGS, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TYPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">MEMBERS&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="reflect_8hpp.html#a19ecb289e4fa0b10e1947eb7d582c672">EOSLIB_REFLECT_DERIVED_TEMPLATE</a>( TEMPLATE_ARGS, TYPE, <a class="el" href="seq_2seq_8hpp.html#a3e0aa3b8328b4a77225f65b03059912e">BOOST_PP_SEQ_NIL</a>, MEMBERS )</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a2503e9c2314b9e45ac3c5c537a3d14a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2503e9c2314b9e45ac3c5c537a3d14a0">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_VISIT2_BASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_VISIT2_BASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">visitor, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">base&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;base&gt;::visit( t, forward&lt;Visitor&gt;(visitor) );</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a60d5d77e2baad66c15753762be20230a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60d5d77e2baad66c15753762be20230a">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_VISIT2_MEMBER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_VISIT2_MEMBER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">visitor, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">elem&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ <span class="keyword">typedef</span> decltype((static_cast&lt;type*&gt;(<span class="keyword">nullptr</span>))-&gt;elem) member_type;  \</div><div class="line">   visitor( t.elem ); \</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
<a id="a6269ed771378e6ab12a6507ce5c5efd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6269ed771378e6ab12a6507ce5c5efd6">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_VISIT_BASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_VISIT_BASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">visitor, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">base&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="structeosio_1_1reflector.html">eosio::reflector</a>&lt;base&gt;::visit( visitor );</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae6f443a0fcd4af9b3e1c9d6a257cdc84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6f443a0fcd4af9b3e1c9d6a257cdc84">&#9670;&nbsp;</a></span>EOSLIB_REFLECT_VISIT_MEMBER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EOSLIB_REFLECT_VISIT_MEMBER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">r, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">visitor, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">elem&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ <span class="keyword">typedef</span> decltype((static_cast&lt;type*&gt;(<span class="keyword">nullptr</span>))-&gt;elem) member_type;  \</div><div class="line">   visitor( &amp;type::elem ); \</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
